At present, in digital communication systems offering the highest performance, the data is protected by high-performance channel coding and is decoded iteratively by a weighted output decoder.
In the field of digital transmission, and more particularly when the transmission channel is a radio channel, the main function of these corrector codes is to resolve ambiguities in the transmitted message introduced by the transmission channel. The performance enhancement achieved by these codes can be to reduce the power consumption of the terminals or to increase the volume of information transmitted.
Considerable research has been done recently in the field of coding and decoding using corrector codes known as LDPC (low density parity check) codes. LDPC codes are proposed, for example, in the context of the IEEE 802.11n high-throughput WLAN standards and have also been adopted in the IEEE 802.16.e (mobile WiMax) standard.
Many channel coding techniques use LDPC codes. However, the major drawback of LDPC codes is their coding complexity. A number of LDPC code families nevertheless simplify the coding process. All these codes share a triangular parity check matrix H. Also, it has been shown that for block sizes of the order of a few kilobits deterministic or pseudodeterministic constructions of the parity check matrices defining an LDPC code offer better performance than random constructions.
Below, N denotes the size of a code word x made up of M parity bits forming the parity vector P and K information or data bits forming the data vector C. The yield R of the code is given by the following formula:
  R  =      K    N  
The parity check matrix H of the code is an M×N matrix, each parity equation is made up of dc variables, and each variable is connected to dv equations. Also, a code is referred to as regular if each variable is connected to the same number of equations and if each equation has the same number of variables, which corresponds to a parity check matrix including the same number of “1s” per row and the same number of “1s” per column.
Also, this parity check matrix H can be defined by two submatrices such that:H=└H1Hp┘where Hp is an M×M square matrix associated with the parity bits of the parity vector P and H1 is an M×K matrix associated with the information bits of the data vector C. Thus a word x decomposed into information bits and parity bits in the following manner x=[C P] is a code word if and only if:
      H    ⁢                  ⁢          x      T        =      [                                                                      H                1                                                                                      H                  p                                ]                                                    ⁡                  [                                                                      C                  T                                                                                                      P                  T                                                              ]                    =              0        T            xT, CT and PT being the transposed vectors of the vectors x, C, and P. Moreover, the projection vector V is the vector defined by the equation:VT=H1CT 
The document by Michael Yang, W. E. Ryan, and Yan Li, “Design of efficiently encodable moderate-length high-rate irregular LDPC codes” (IEEE Transactions on Communications, April 2004) describes the construction of an LDPC code by a parity check matrix of the form H=└H1 Hp┘. This matrix H is pseudodeterministic and provides fast calculation of the redundancy bits. The matrix H1 is generated randomly and the matrix Hp is a diagonal matrix. The parity bits of the parity vector P are calculated from information bits of the data vector C using the following equation:P=Hp−1H1C 
Because of the triangular shape of matrix Hp, its inverse Hp−1 has a particularly beneficial shape that enables simple calculation of the parity bits from the product H1C.
In fact, FIG. 10 is a diagram showing a coder device including control means 131 and coder means 125 reflecting calculation of the parity bits using the equation P=Hp−1H1C.
However, despite the pseudodeterministic character of code constructed from matrices of this type, the parity check matrix H is structured at a very low level. The lack of structure of the randomly generated matrix H1 makes the calculation of the product H1C very complex. Also, in this configuration, it is necessary to store the matrix H1 on sending, which is very costly from the practical implementation point of view.
To simplify the calculation, S. J. Johnson and S. R. Weller, in their publication “Quasi-cyclic LDPC codes from differences families” (3rd Australian Communications Theory Workshop, Canberra, Australia, February 2002), propose a code constructed from a deterministic and quasicyclic parity check matrix.
This matrix H is decomposed into submatrices. Each submatrix is an identity matrix having its columns circularly permutated k times to the left or to the right. This form of matrix simplifies setting LDPC code parameters. This structure also reduces coding complexity.
Similarly, R. Echard and S-C Chang, in their publication “The pi rotation Low Density Parity Check Codes” (GLOBECOM 2001, November 2001, pp. 980-984), propose a code constructed from a deterministic parity check matrix using a pi-rotation matrix technique. This parity check matrix H is divided into two submatrices Hπ and Hp such that H=└Hπ Hp┘ where Hp is a bidiagonal matrix. The originality of this construction comes from the shape of the matrix Hπ, which enables fast calculation at relatively low cost from the point of view of implementing the product HπC.
The codes generated from deterministic matrices of quasicyclic or pi-rotation type are structured, which reduces coding complexity. However, this kind of matrix generates codes having a low minimum distance. In particular, for a given number of “1” per column, the minimum distance does not increase with the block size. These codes can therefore degrade performance for low error rates, given that the minimum distance is directly linked to the performance of a code.